<?php
namespace app\common\model\Post;

use think\Model;

// 软删除的模型
use traits\model\SoftDelete;

// 帖子类型
class Post extends Model{
    // 继承软删除
    use SoftDelete;

    // 模型对应的表
    protected $table="pre_post";

    // 开启自动写入
    protected $autoWriteTimestamp=true;

    // 设置字段的名字
    protected $createTime="createtime";

    protected $updateTime=false;

    // 软删除的字段
    protected $deleteTime='deletetime';

    public function getVisitTextAttr($value,$data){
        // 字符串转换为数组
        $visit=explode(',',$data['visit']);
        $visit=array_filter($visit);
        return count($visit);
    }

    public function getStateTextAttr($value,$data){
        $statelist=[0=>'无附加功能',1=>'置顶',2=>'精华',3=>'热门'];
        return $statelist[$data['state']];
    }

    // 利用获取器来做评论总数
    public function getCommentAttr($value,$data){
        // 加载模型
        $count=model('Post.Comment')->where(['postid'=>$data['id']])->count();
        return $count;
    }

    // 帖子的附加功能
    public function state(){
        return [
            1=>'置顶',2=>'精华',3=>'热门'
        ];
    }

    // 查询帖子所对应的分类
    public function cate()
    {
        return $this->belongsTo('app\common\model\Post\Cate', 'cateid', 'id', [], 'LEFT')->setEagerlyType(0);
    }

     // 查询帖子所对应的用户
     public function user()
     {
         return $this->belongsTo('app\common\model\User\User', 'userid', 'id', [], 'LEFT')->setEagerlyType(0);
     }
}


?>